import React from 'react';
import { connect } from 'dva';
import { Icon } from 'antd-mobile';
import plus from '../../../assets/img/plus.svg';
import jump from '../../../utils/jump';
import { Content, ChildWrap } from '../../../components/layout';
import DiscussList from './list';
import DiscussDetail from './detail';
/*
 * 病例讨论概况
 * 在做查房模块时，坚持在容器组件上绑定数据和回调，并逐级下传，保持了展示型组件的纯净；
 * 然而这么做除了制造麻烦，并没啥卵用；
 * 在病例讨论模块时只要是业务（非通用）模块均直接绑数据和dispatch
 * */
function Overview({ dispatch }) {
    const back = (e) => {
        e.preventDefault();
        jump(dispatch)('home');
    };
    const createDiscuss = (e) => {
        e.preventDefault();
        console.log('go to create!');
        jump(dispatch)('home/discuss/create');
    };
    const props = {
        left: (
            <ChildWrap
                iconName="left"
                content="病例讨论"
                onLeftClick={back}
                padding="30px 0"
                rightContent={
                    <div onClick={createDiscuss}>
                        <Icon type={plus}/>
                    </div>
                }
            >
                <DiscussList />
            </ChildWrap>
        ),
        right: (
            <ChildWrap
                iconName={null}
                content="会诊查看"
            >
                <DiscussDetail />
            </ChildWrap>
        ),
    };
    return (
        <Content
            {...props}
        />
    );
}
/*
 * 需要引用的model，解构传入mapStateToProps方法，并返回出来；
 * 组建的props中将会获取model数据
 * */
function mapStateToProps({ discuss, patients, doctors }) {
    return {
        discuss,
        patients,
        doctors,
    };
}

export default connect(mapStateToProps)(Overview);
